云服务器部署Tomcat项目全过程 | 您所在的位置:网站首页 › tomcat应用服务器 Tomcat server › 云服务器部署Tomcat项目全过程 |
前言
之前学习了Java Web,能用eclipse在本地直接映射运行Tomcat,十分方便,这篇博客主要是记录,用eclipse写好的WEB项目,如果部署到云服务器上,让大家看到。有关Java web项目的学习,可以看我这两篇博客: WEB编程学习之Windows安装运行Tomcat WEB编程学习之Eclipse编译JSP 本博客原创,转载请注明! 本地工作 WAR文件WAR文件是一个Java Web的打包版,Tomcat可以直接解包WAR文件生成WEB项目,很方便。 当我们在eclipse写好项目之后,直接导出WAR文件。 在项目根目录下,右键–Export–WAR file,然后选择保存位置就行了。 这个WAR文件到时候直接放在Tomcat的webapps文件夹下就行了。 云服务器 安装JavaTomcat需要Java环境,所以要给服务器安装JDK,云服务器我用的是阿里云ECS,安装的系统是Ubuntu 20.04版本。 有关Ubuntu安装Java的教程可以参见我的这篇博客:Linux学习之Ubuntu安装Java 要补充的是:最好选择方法二安装JDK,方便维护。 安装完Java之后,因为后边还需要用到mysql,把MySQL的jar包放入Java中,将mysql-connector-java-5.1.8-bin.jar文件放在,Java根路径/jre/lib/ext中,关于这个jar文件,网上有很多,我这里就不放出来了。 安装MySQL这个安装Mysql过程很曲折,花费了我很长的时间去研究,主要原因是新版的MySQL安装完成之后不用设置密码,它会把Ubuntu的root用户权限赋给MySQL的root权限,就不用再输入密码,虽然方便了很多,但是JDBC做用户验证的时候就比较麻烦了,需要输入密码,查了很多资料,花了很长时间,很多方法都没用,最后终于找到一篇有效的博客:在Ubuntu20.04上安装MySQL8.0及正确配置。我这里就说一下过程: 安装MySQL sudo apt update sudo apt install mysql-server第一个是更新源,第二个是安装MySQL,sudo这个指令如果是服务器是用root用户登陆的,就不需要sudo。 安装好之后,输入 systemctl status mysql输出的结果是Active: active (running)就说明MySQL安装成功了。 设置密码这一步花了真的很长时间,网上很多资料都无效,再次感谢上面的那个博客。 在命令行输入 mysql发现真的不需要密码就可以进入mysql了,然后我们来设置一下root的密码,注意分号 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root的密码';root的密码就是要设置的密码,输入完之后,看到 Query OK, 0 rows affected (0.01 sec)就说明可以了,之后我们进入MySQL需要用 mysql -u root -p命令进入MySQL。然后就可以建立数据库啊,建立表格啊啥的。 安装Tomcat 部署Tomcat这个其实比较简单了,在我上面的博客里有,这里就简单的说一下过程就行了,因为我的eclipse仅支持的Tomcat最高版本是9.0,我这里就下载9.0版本的了。 先去官网踩点获取网站:Apache Tomcat 然后找到tar.gz版本的,右键–复制链接地址 然后登录服务器,在命令行输入wget 复制的下载地址,对于我自己就是输入这样的: wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz如果速度太慢,可以在Windows下载好之后,然后用WinSCP上传到服务器中就行了。 下载好后,输入 sudo tar -xvaf apache-tomcat-9.0.46.tar.gz解压tar.gz文件,然后进入tomcat根文件,进入bin然后运行startup.sh文件就行了,比如我的就是 cd apache-tomcat-9.0.46/bin/ ./startup.sh然后没有报错就行了。 访问网站首先先要在服务器的安全组中开放8080端口: 进入阿里云控制台–(左侧)安全组–然后选择实例–(中间)手动添加–然后开放8080端口就行了。 对了,这里还要再提一嘴,最好也开放80端口和443端口,一个是HTTP的端口,一个是HTTPS端口,方便之后的网站访问。 开放之后,我们在本地的浏览器中输入http://公网ip:8080或者是http://域名:8080,如果出现了Tomcat的默认界面就成功了。 部署WAR文件恭喜,到了现在,你已经完成了一大半了,让我们来完成之后的任务。 我们直接将WAR文件放在Tomcat根目录的webapps文件夹下。 然后还需要将tomcat先关闭,然后再开启 cd apache-tomcat-9.0.46/bin/ ./shutdown.sh ./startup.sh开启成功之后,在等一会会,然后我们进入webapps文件下,就发现WAR文件被Tomcat解包了。 然后我们就可以访问了,输入http://公网ip:8080/项目名/初始界面。 例如我上面的项目就是http://公网ip:8080/love/index.html 如果看到了自己的网站,那恭喜,你现在已经成功了,博客后边的只是一些优化。 进阶部署 设置默认界面如果我们希望,我们能通过http://公网ip:8080或者http://域名:8080直接访问我们的网站,就需要配置一下了。 要修改的文件有两个: web.xml第一个是web项目的web.xml一般就是在项目根目录下的WEB-INF目录下,在标签之中,添加内容 index.html index.htm index.jsp就是在之前把这段代码加入就行了。主要是用来设置项目的欢迎页。我的项目的欢迎页是index.html,如果你的是xx.html就可以修改xx.html。 server.xml这个是Tomcat的配置文件之一,文件位置是 Tomcat根目录/conf下,打开它 在Host标签下,加入这样的一句话 path是网站的访问地址,我这里留空,docBase是项目路径,推荐用绝对路径 然后还需要将tomcat先关闭,然后再开启 cd apache-tomcat-9.0.46/bin/ ./shutdown.sh ./startup.sh然后就可以用http://公网ip:8080或者http://域名:8080直接访问我们的网站了。 部署证书这个是卡我时间最长的,很麻烦,而且网上教程也有些乱,我这里就简单的梳理下过程 我已经购买了域名 部署证书的作用是用https访问我们的网站,如果不安装证书,就是用的http,这样浏览器会警告该网站不安全。 首先申请证书,因为我的服务器是阿里云的,就去阿里云平台搜索SSL证书左侧SSL证书,中间选择免费证书。 然后就按照它的提示一步一步部署就行了,最后申请通过就可以下载证书了,下载的时候证书选择Tomcat的,解压之后,是一个PFX后缀的证书和一个txt后缀的密码。关于如何安装阿里云给了详细的过程: 安装PFX格式证书 简述一下过程: (1).开启443端口 这个上面部署Tomcat部分已经说过,在安全组中开启80端口和443端口 (2).别名设置 因为Tomcat 9强制要求证书别名设置为tomcat,我们需要对下载的证书做一些操作, keytool -changealias -keystore 证书的名字.pfx -alias alias -destalias tomcat用cmd打开证书路径,然后输入上面的代码,然后它会提示输入密钥库口令,然后打开和证书一起的被解压缩出来的pfx-password.txt文件,里边就是密码,输入密码的时候,密码是不可见的,所以直接输就行了,输入的时候cmd不会显示密码,输完直接回车就行了。 (3).部署证书 准备工作基本做完,然后可以把证书上传到服务器中,我就把证书放在在Tomcat根目录下conf文件夹中。 然后配置server.xml文件,打开 Tomcat安装目录/conf/server.xml 然后找到Connector标签,按照如下更改 keystoreFile是证书所在的绝对路径,keystorePass是txt文件中的密钥,其余基本都是一样的 例如下图: 部署完成之后,重启Tomcat就行了。 如果你能通过https://域名直接访问成功了,那么恭喜你,你成功了!!! 如果你没有成功,可以把所有文件删除,然后重来一遍,我就是最开始的一遍没成功,然后删了,按照流程重新来过就成功了。 小结过程极其复杂,综合了云服务器、Linux、MySQL、Tomcat、Java等等知识,不过之前我用宝塔+wordpress直接生成了一个模板博客网站,用了很多现成的插件,很方便,但是如果想自己掌控一切,自己写一个web程序也是很有意思的一件事。=w= |
CopyRight 2018-2019 实验室设备网 版权所有 |